<?php
namespace App\Services\Office;

use Excel;


class AliOffice
{
    //pdf主体
    public function pdfBody($data,$full_name,$expired_time,$parsed_data='',$sp_email,$online_time){
        $online_time = explode("-", $online_time);
        $sp_time = explode("-", $expired_time);
        $company = $data[0]['company']['company_name'];
        $address = $data[0]['company']['address'];
        $phone_name = $data[0]['company']['phone_name'];
        $phone = $data[0]['company']['phone'];
        $pdf = new \TCPDF();
        $pdf->setPrintHeader(false);
        $pdf->setPrintFooter(false);
        // 设置默认等宽字体
        $pdf->SetDefaultMonospacedFont('courier');
        $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
        $pdf->setFontSubsetting(true);

        //设置字体 stsongstdlight支持中文
        $pdf->SetFont('stsongstdlight', '', 14);

        //第一页
        $pdf->AddPage();
        $html = <<<EOD
<h1 style="text-align:center">阿里音乐音乐作品授权书</h1>
<p style="font-weight:bold">授权人：【公司名称】$company</p>
<p>法定地址：【公司地址】$address</p>
<p>联系人：$phone_name</p>
<p>电话：$phone</p>
<p>电子邮箱：$sp_email</p>
<p style="font-weight:bold">被授权人：水石信息科技（上海）有限公司</p>
<p>法定地址：杭州市余杭区五常街道良睦路999号乐佳国际2#小邮局</p>
<p>联系人：张曲家</p>
<p>电话：18658870725</p>
<p>电子邮箱：zhangqujia@alibaba-inc.com</p>
<p>1、	授权方是授权音乐作品/制品（见附件）的著作权人，对该等音乐作品/制品享有实施本授权所需的一切著作权权益（包括但不限于词曲作者、表演者、录音/录像制作者的信息网络传播权），并有权就该等权益进行转授权。如有第三方就被授权方按本授权书约定方式使用授权音乐作品/制品提出权属上的主张或质疑，授权方将负责解决，并赔偿被授权方由此遭受的所有损失。</p>
<p>2、	授权方将授权音乐作品/制品的信息网络传播权授予被授权方（包括被授权方的关联公司），该授权为非专有、非独家授权，有效期至$sp_time[0]年$sp_time[1]月$sp_time[2]日。授权到期后，除非授权方以纸质函件形式明确可以继续使用，则获授权方应及时从授权平台移除。</p>
<p>3、	授权方授权被授权方及其关联企业通过下述平台传播授权音乐作品/制品：</p>
<p>	虾米音乐平台：虾米网（www.xiami.com）网站、电脑客户端、手机客户端及其他软硬件终端；</p>
<p>	天天动听平台：天天动听（www.ttpod.com）网站、电脑客户端、手机客户端及其他软硬件终端；</p>
<p>	第三方平台：指由第三方研发、所有或者运营的硬件装置或者软件，该等硬件或者软件内部含有被授权方音乐平台客户端、内容链接、嵌入式播放器等，使得用户通过第三方平台可以获得被授权方音乐平台的内容；</p>
<p>	被授权方研发、所有或者运营的各信息网络平台，以及可通过信息网络以及与信息网络相关的方式使用的产品。</p>
<p>	被授权方及关联企业有权将授权音乐作品/制品提供给新浪微博等社交平台通过《亚洲新歌榜》打榜等方式进行宣传推广使用。</p>
<p>4、	授权区域：中国大陆地区（不含港、澳、台地区）。</p>
<p>5、	对于授权期内擅自通过信息网络传播授权音乐作品/制品的第三方，授权方有义务积极进行维权，以减少该等侵权传播对被授权方造成的冲击。</p>
<div style="text-align: right">授权方：$company</div>
<div style="text-align: right">授权日期： $online_time[0]年【$online_time[1]】月【$online_time[2]】日</div>
EOD;
        $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
        if($parsed_data!='') {
            $pdf->Image(public_path($parsed_data['path']), '145', $pdf->GetY()-30, 40, 40, '', '', '', false, 300, '', false, false, 1, false, false, false);
        }
        $pdf->writeHTML('附件一:授权音乐目录', true, false, true, false, '');
        $table="
<table border=\"1\" align=\"center\">
<tr>
<td>序号</td>
<td>曲目名称</td>
<td>语种</td>
<td>专辑</td>
<td>类型</td>
<td>表演者</td>
<td>词作者</td>
<td>曲作者</td>
<td>录音录像制作者权利比例</td>
<td>词著作权</td>
<td>曲著作权</td>
</tr>";
        $j=0;
        $b = &$j;
        foreach($data as $i=>$v){
            if(empty($v['album'])){$album=$v['title'];}else{$album=$v['album'];}
            $table.="
<tr>
<td>".($b = $b+1)."</td>
<td>".$v['title']."</td>
<td>".$v['music_check']['language']."</td>
<td>".$album."</td>
<td>".substr($v['music_file']['local_path'],strrpos($v['music_file']['local_path'],'.')+1)."</td>
<td>".$v['performer']."</td>
<td>".$v['writer']."</td>
<td>".$v['composer']."</td>
<td>".$v['neighboring_right_1']."%</td>
<td>".$v['neighboring_right_2']."%</td>
<td>".$v['neighboring_right_3']."%</td>
</tr>";
            if($v['accompaniment_file_uuid']!=''){
                $table.="
                    <tr>
                        <td>".($b = $b+1)."</td>
                        <td>".$v['title'].'（伴奏）'."</td>
                        <td>".$v['music_check']['language']."</td>
                        <td>".$album."</td>
                        <td>".substr($v['accompaniment_file']['local_path'],strrpos($v['accompaniment_file']['local_path'],'.')+1)."</td>
                        <td>".$v['performer']."</td>
                        <td>".$v['writer']."</td>
                        <td>".$v['composer']."</td>
                        <td>".$v['neighboring_right_1']."%</td>
                        <td>".$v['neighboring_right_2']."%</td>
                        <td>".$v['neighboring_right_3']."%</td>
                    </tr>";
            }
            if($v['mv_file_uuid']!=''){
                $table.="
                    <tr>
                        <td>".($b = $b+1)."</td>
                        <td>".$v['title'].'（MV）'."</td>
                        <td>".$v['music_check']['language']."</td>
                        <td>".$album."</td>
                        <td>".substr($v['mv_file']['local_path'],strrpos($v['mv_file']['local_path'],'.')+1)."</td>
                        <td>".$v['performer']."</td>
                        <td>".$v['writer']."</td>
                        <td>".$v['composer']."</td>
                        <td>".$v['neighboring_right_1']."%</td>
                        <td>".$v['neighboring_right_2']."%</td>
                        <td>".$v['neighboring_right_3']."%</td>
                    </tr>";
            }
        }
        $table.="</table>";
        $pdf->writeHTML($table, true, false, false, false, '');
        $table="
<table border=\"1\" align=\"center\">
<tr>
<td>说明：授权音乐作品/制品包含与作品/制品相关的背景资料，包括表演者相关信息、专辑封面图片、表演者图片、专辑介绍、歌曲介绍、海报等。</td>
</tr>";
$table.="</table>";
        $pdf->writeHTML($table, true, false, false, false, '');
        return $pdf;
    }

    //生成盖章pdf
    public function makeSignPdf($data,$full_name,$simple_name,$expired_time,$rand,$image,$fix_time,$sp_email,$online_time)
    {
        $parsed_data = parse_url($image);
        $pdf = $this->pdfBody($data,$full_name,$expired_time,$parsed_data,$sp_email,$online_time);
        $num = $pdf->getNumPages();
        $path = substr($parsed_data['path'],0,strrpos($parsed_data['path'],'/')+1);
        $name = substr($parsed_data['path'],strrpos($parsed_data['path'],'/')+1);
        $fname = $_SERVER['DOCUMENT_ROOT'].$path.'/small_'.$name;
        if(file_exists($fname)){
            $toImage = $fname;
        }else{
            $toImage = $_SERVER['DOCUMENT_ROOT'].$parsed_data['path'];
        }
        $ext = explode(".", $image);
        $ext = $ext[count($ext)-1];
        cutImage($toImage,$num,$ext);
        for($i=0;$i<$num;$i++){
            $pdf->setPage(($i+1));
            $pdf->Image('image/'.$i.'.'.$ext, '180', '120', 25, '', '', '', 'T', false, 300, '', false, false, 1, false, false, false);
        }
        //输出PDF
        $data = $pdf->Output('t.pdf', 'S');//I输出、D下载
        $dir = date('Y-m-d').'-sign-'.$rand;
        @mkdir(storage_path('/exports/'.$dir),0777);
        file_put_contents(storage_path('/exports/'.date('Y-m-d').'-sign-'.$rand.'/'.$simple_name . date('Y-m-d').'-sign.pdf'),$data);
        return $dir;
    }

    //生成无章pdf
    public function makePdf($data,$full_name,$simple_name,$expired_time,$rand,$fix_time,$sp_email,$online_time){
        $pdf = $this->pdfBody($data,$full_name,$expired_time,'',$sp_email,$online_time);
        $data = $pdf->Output('t.pdf', 'S');//I输出、D下载
        $dir = date('Y-m-d').'-'.$rand;
        @mkdir(storage_path('/exports/'.$dir),0777);
        file_put_contents(storage_path('/exports/'.date('Y-m-d').'-'.$rand.'/'.$simple_name . date('Y-m-d').'.pdf'),$data);
        return $dir;
    }


    //生成execl
    public function makeExecl($data,$full_name,$simple_name,$start_time,$expired_time,$rand)
    {
        $cellData = [
            ['序号', '曲目名称', '语种', '专辑', '类型', '表演者', '词作者', '曲作者', '录音制作者邻接权、表演者邻接权', '词著作权', '曲著作权'],
        ];
        $k=0;
        $c = &$k;
        foreach ($data as $v) {
            if(empty($v['album'])){$album=$v['title'];}else{$album=$v['album'];}
            $musicExt = substr($v['music_file']['local_path'],strrpos($v['music_file']['local_path'],'.')+1);
            $cell[] = [$c=$c+1,$v['title'],$v['music_check']['language'],$album,$musicExt,$v['performer'],$v['writer'],$v['composer'],$v['neighboring_right_1']."%",$v['neighboring_right_2']."%",$v['neighboring_right_3']."%"];
            if($v['accompaniment_file_uuid']!=''){
                $accExt = substr($v['accompaniment_file']['local_path'],strrpos($v['accompaniment_file']['local_path'],'.')+1);
                $cell[] = [$c=$c+1,$v['title'].'（伴奏）',$v['music_check']['language'],$album,$accExt,$v['performer'],$v['writer'],$v['composer'],$v['neighboring_right_1']."%",$v['neighboring_right_2']."%",$v['neighboring_right_3']."%"];
            }
            if($v['mv_file_uuid']!=''){
                $mvExt = substr($v['mv_file']['local_path'],strrpos($v['mv_file']['local_path'],'.')+1);
                $cell[] = [$c=$c+1,$v['title'].'（MV）',$v['music_check']['language'],$album,$mvExt,$v['performer'],$v['writer'],$v['composer'],$v['neighboring_right_1']."%",$v['neighboring_right_2']."%",$v['neighboring_right_3']."%"];
            }
        }
        $c = array_merge($cellData, $cell);
        Excel::create($simple_name . date('Y-m-d').'-'.$rand,function($excel) use ($c,$v){
            $excel->sheet('sheet1', function($sheet) use ($c){
                $sheet->setAutoSize(false);
                $sheet->rows($c);
            });
        })->store('xls');
    }


}
